This invention relates generally to modulation encoding and provides methods and apparatus for producing encoded data with both global and interleave run-length constraints. Corresponding decoding systems are also provided.
Modulation codes are employed in data storage systems to eliminate undesirable bit-sequences in the recording data, for example bit-sequences which give rise to errors in the reproduction process. Modulation codes impose some form of constraint on the occurrence of such bit-sequences in the encoded bit-stream. One example of an undesirable bit-sequence is a long run of bits of the same value. Another example is a long run of bits of the same value in alternating positions in the bit stream, i.e., in either the odd (O) or even (E) interleave of a bit stream . . . EOEOEO . . . For instance, a long sequence of the form 0a0b0c0d0 . . . , where a, b, c, etc. can be either “0” or “1”, would be generally undesirable. Run-length-limited (RLL) codes can be used in modulation encoders to restrict the length of such bit-runs. RLL-codes can be constructed to impose both a global constraint G and an interleave constraint I on the RLL-encoded data. The global constraint G specifies the maximum possible run-length of bits of a particular value in the encoded bit-stream. The interleave constraint I specifies the maximum possible run-length of bits of a particular value in each of the odd and even interleaves of the encoded bit-stream. The RLL encoder receives a succession of K-bit data words and encodes each data word into an N-bit codeword satisfying the G and I constraints. These constraints require a number of run-length limits to be satisfied in individual codewords. The global and interleave run-length limits G and I of course apply within each codeword. In addition, to ensure that the constraints are also met when codewords are concatenated in the output bit-stream, tighter run-length limits are imposed at codeword boundaries. That is, global and interleave run-length limits lower than G and I are imposed on bit-runs at the left and right boundaries of a codeword so that, when any two codewords are concatenated, the overall G and I constraints cannot be exceeded across the boundary.
The global and interleave constraints in the RLL codes described above typically apply to bits of like value. The (G, I) codes used in partial-response maximum likelihood (PRML)-based recording systems, such as magnetic tape drives, hard disk drives and optical storage systems, provide an example. In these PRML (G, I) codes, the G and I constraints conventionally apply to runs of “0's” at the output of the modulation encoder. In general, of course, the RLL constraints can be imposed on bits of either value through simple bit-inversion of the codewords. RLL codes can also be constructed to impose further constraints. For instance, a run-length constraint may be imposed on bits of opposite value to those constrained by the G and I constraints. In PRML (G, I, M) codes, for example, the maximum run-length of “1's” at the modulation encoder output is limited to the value M. The M constraint is also known as the VFO (variable-frequency oscillator) constraint. This constraint limits runs of alternating 2T magnets . . . ++−−++−− . . . in channel input sequences (i.e., after partial-response precoding of the (G, I, M)-encoded bit-stream) to floor(M/2)+1, where T denotes the symbol duration and floor(s) denotes the largest integer not exceeding s. In recording systems such as tape drives in which a phase-locked loop acquires phase lock based on a long alternating 2T VFO pattern, the VFO constraint ensures that there is no modulation encoded sequence which can be mistaken for a long VFO pattern.
Current storage systems use high-rate modulation codes with tight global and interleave constraints. There is a constant need for improvement however. By way of example, current proprietary and LTO (Linear Tape Open)-5 tape drives use a rate-32/33 RLL code with the following modulation constraints: global constraint G=14; interleave constraint I=11; VFO constraint M=23. Aggressive estimates of potential capacity-gains in future product generations demand advances in virtually all tape technology areas. As it becomes increasingly difficult, and more costly, to improve tape media and heads, it is particularly important to seek capacity gains based on improved data format.
Efficient RLL codes exist for constraints of the type (G=2I, I, M). This type of code can be implemented using generalized Fibonacci codes or eMTR (enumerative maximum transition run) codes in both interleaves of the input data stream as described in U.S. Pat. No. 7,616,134B1. There is, for instance, an efficient rate-232/234 code for G=12, I=6, M=22. However, this code is not compatible with the DSS (data set separator) and Re-Sync (resynchronization) sequences in current LTO-5 and proprietary tape drives. These sequences correspond to particular bit patterns which are reserved for synchronization purposes and which should not therefore occur otherwise in the modulation-encoded bit-stream. In the rate-232/234 code, the G=12 constraint is too high to allow the DSS and Re-Sync patterns, which correspond to long runs of zeros at the modulation encoder output, to be excluded by the modulation encoding.
In general, improvements in RLL-encoding systems imposing global and interleave constraints would be desirable.